博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在SharePoint2010中创建自定义电子邮件警报处理程序
阅读量:4543 次
发布时间:2019-06-08

本文共 4139 字,大约阅读时间需要 13 分钟。

  • 字段,如项目名称字段中,将被截断到的电子邮件通知中的 70 个字符。要解决 70 个字符的限制,请使用"更多信息"一节中的介绍的方法。
  • 要嵌入电子邮件通知中的其他内容。
  • 您想要更改的布局或外观的电子邮件通知。

此方法创建一个类,从IAlertNotificationHandler接口继承,并使用OnNotification方法。此方法可以截获传出的电子邮件通知,并对其进行修改。您可以访问该警报的属性中的大多数。通过使用 XML 分析和 SharePoint 对象模型的代码,您可以提取必须具有修改电子邮件警报的所有信息。然后,您可以生成 HTML 存根以显示根据您的要求的电子邮件通知。此外,您可以通过使用 SharePoint 的 SendMail 功能发送电子邮件通知。

这些步骤包括输出以接近于默认通知模板的电子邮件格式设置的示例代码。您可以修改此示例代码中的 HTML,以自定义生成的电子邮件通知。

  1. 创建一个项目,从IAlertNotificationHandler接口继承。在项目中包括 Microsoft.SharePoint 命名空间和 Microsoft.SharePoint.Utilities 的命名空间。
    使用以下代码:

    //===================code start=====================public class Class1:IAlertNotifyHandler{#region IAlertNotifyHandler Memberspublic bool OnNotification(SPAlertHandlerParams ahp){SPSite site = null;SPWeb web = null;try{site = new SPSite(ahp.siteUrl+ahp.webUrl);web = site.OpenWeb();SPList list=web.Lists[ahp.a.ListID];SPListItem item = list.GetItemById(ahp.eventData[0].itemId) ;string FullPath=HttpUtility.UrlPathEncode(ahp.siteUrl+"/"+ahp.webUrl+"/"+list.Title+"/"+item.Name);string ListPath = HttpUtility.UrlPathEncode(ahp.siteUrl + "/" + ahp.webUrl + "/" + list.Title);string webPath=HttpUtility.UrlPathEncode(ahp.siteUrl+"/"+ahp.webUrl);string build = "";if (ahp.eventData[0].eventType==1)eventType="Added";else if(ahp.eventData[0].eventType==2)eventType="Changed";else if(ahp.eventData[0].eventType==3)eventType="Deleted";build = ""+ "

    "+ item.Name.ToString() +" has been "+eventType +"

    "+"
    "+"
    "+"
    " +"
    "+"Modify my Settings View "+item.Name+" View " + list.Title + "
    ";string subject=list.Title.ToString() ; SPUtility.SendEmail(web,true , false, ahp.headers["to"].ToString(), subject,build);return false;}catch (System.Exception ex){return false;}finally{if (web != null)web.Dispose();if (site != null)site.Dispose();}}#endregion}//===================code end=====================
  2. 强签名的.dll 文件添加到全局程序集缓存 (GAC) 中。您可以将该程序集拖到程序集文件夹。或者,您可以使用 GACUtil 工具来注册.dll 文件。
    有关详细信息,请访问下面的 MSDN Web 站点。
    • 将程序集安装到全局程序集缓存中

      (http://msdn2.microsoft.com/en-us/library/dkkx7f79 (vs.71).aspx)

    • 全局程序集缓存工具 (Gacutil.exe)

      (http://msdn2.microsoft.com/en-us/library/aa309379 (VS.71).aspx)

    有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    () http://support.microsoft.com/kb/315682/

    如何将程序集安装到全局程序集缓存在 Visual Basic.NET 或 Visual Basic 2005年中

  3. 请在下面的文件夹中的 alertTemplates.xml 文件的副本:

    C:\Program 必须使用 Shared\Web 服务器 Extensions\12\Template\Xml

    命名为 CustomAlertTemplates.xml,该新文件,然后保存该文件。

    注意不要直接修改 alertTemplates.xml 文件。直接修改此文件不受支持。

  4. 编辑文件和搜索的关键字属性。在属性块中添加以下行:

    AlertHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d59ecf2a3bd66904
    AlertHandler.Class1

    存根 (stub) 应类似于这现在:

    ID;Author;Editor;Modified_x0020_By;Created_x0020_By;_UIVersionString;ContentType;TaskGroup;IsCurrent;Attachments;NumComments;
    ID;Author;Editor;Modified_x0020_By;Created_x0020_By;_UIVersionString;ContentType;TaskGroup;IsCurrent;Attachments;NumComments;
    AlertHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d59ecf2a3bd66904
    AlertHandler.Class1

    要在警报的模板文件中每个警报的模板部分中包括此 XML 存根 (stub)。

  5. 在命令提示符下,更改 C:\Program 必须使用 Shared\web 的服务器 extensions\12\BIN 目录。然后,运行以下命令:

    stsadm-o updatealerttemplates-文件名"是 Files\Common Files\Microsoft Shared\Web 服务器 Extensions\12\TEMPLATE\XML\customalerttemplates.xml"-url your_sharepoint_site url

  6. 运行以下命令:

    stsadm-o setproperty-pn 作业-立即-通知-pv"每隔 1 分钟"

    此命令指定 SharePoint 服务器检查都要立即发送的通知的频率。以分钟为单位指定的值。对于此测试,将频率设置为 1 分钟。

    有关详细信息,请访问下面的 Microsoft 网站:

    (http://technet2.microsoft.com/windowsserver/WSS/en/library/0eb072fe-8321-483b-9d1e-3412e3f42a481033.mspx?mfr=true)

  7. 请确保您拥有 SharePoint 配置传出电子邮件。有关如何配置传出电子邮件的详细信息,请访问下面的 Microsoft 网站:

    (http://technet2.microsoft.com/windowsserver/WSS/en/library/91570494-09ba-4537-904b-c61a6268d6bc1033.mspx?mfr=true)

  8. 如果测试使用文档库,请确保您有打开的文档库的通知。
  9. 运行以下命令:
    • iisreset
    • 服务
  10. 在服务 MMC 管理单元中,重新启动 Windows SharePoint Services 定时服务。
完成这些步骤之后,应配置自定义电子邮件通知的处理程序。创建一个新警报后,您将收到已更新的自定义电子邮件警报。

转载于:https://www.cnblogs.com/love007/p/3432987.html

你可能感兴趣的文章
LeetCode--Valid Parentheses
查看>>
BZOJ3124 SDOI2013 直径 DFS
查看>>
BZOJ4566: [Haoi2016]找相同字符
查看>>
python:extend (扩展) 与 append (追加) 之间的天与地
查看>>
Python测试——安装篇总结
查看>>
7 -- Spring的基本用法 -- 11... 基于XML Schema的简化配置方式
查看>>
输入1则输出0,输入0则输出1
查看>>
placeholder字体样式及兼容
查看>>
个人简历
查看>>
《怎样成为一个高手——罗振宇》观后感
查看>>
ASCII表格
查看>>
x-www-form-urlencoded
查看>>
存储引擎
查看>>
CDQZ_Training 2012-5-24 笨笨的电话网络
查看>>
文档对象模型 DOM
查看>>
MD5验签同一字符串得到不同的MD5签名值可能问题之一
查看>>
HDU_2068_RPG错排
查看>>
ZedGraph使用笔记(一)
查看>>
10.QT程序框架与connect
查看>>
SPA单页面应用router实现
查看>>